Linguaggio di programmazione B

Il linguaggio B fu sviluppato presso i Bell Labs. Oggi, è praticamente estinto e rimane solo un interesse di tipo storico, poiché rappresenta la fase di transizione tra BCPL e Linguaggio C. È dovuto principalmente al lavoro di Ken Thompson con il contributo di Dennis Ritchie. La sua prima comparsa è datata nel 1969.
Essenzialmente si tratta del BCPL privato di tutti quei componenti che Thompson ritenne di poter eliminare in modo da utilizzarlo al meglio sui minicomputer di quel tempo, con capacità di memoria limitata, e migliorato con alcune modifiche che riflettevano le preferenze degli autori, specialmente seguendo la linea di riduzione del numero di caratteri "non-whitespace" nella programmazione. Come BCPL e FORTH, ha solo un tipo di dato, una computer word. La maggior parte degli operatori tratta la world come un intero (+, -, *, /) ma altri la trattano come un indirizzo di memoria da dereferenziare. Per gli altri punti di vista assomiglia molto ad una versione iniziale del Linguaggio C. Infatti, esistono alcune librerie di funzioni, compreso una pseudo libreria standard di IO del Linguaggio C.
Le prime implementazioni furono realizzate sui computer DEC PDP-7 e PDP-11, con le prime versioni di Unix, e su Honeywell 36 bit, un mainframe con il sistema operativo GCOS. Nelle implementazioni sul PDP-7 veniva compilato in "threaded code" e, solo successivamente, un compilatore adatto venne creato da Ritchie. Nel 1970 venne acquistato un PDP-11 e il "threaded code" venne usato per fare il port. La prima versione yacc venne prodotta con questo PDP-11. Ritchie, nel frattempo, assunse la direzione della manutenzione.



Dennis Ritchie, Ken  Thompson, PDP-11
Dennis Ritchie (in piedi) e Ken Thompson (seduto) al lavoro sul PDP-11.


La mancanza di tipi di dato del linguaggio B era sensata su calcolatori tipo Honeywell, PDP-7 e altri più datati. Ma questo fu il problema maggiore del PDP-11, perché era complicato accedere elegantemente al tipo di dato character che questo calcolatore, e quelli successivi, supportavano pienamente. Nel 1971 Ritchie cominciò a fare cambiamenti al linguaggio, mentre convertiva il compilatore per produrre il codice macchina che supportasse la definizione del tipo di dato della variabile. Durante il 1971 e il 1972 il linguaggio B si evolvette in una nuova versione chiamata, appunto, New B ed indicata con la sigla NB. All'inizio del 1973 venne aggiunto il preprocessore con il contributo di Alan Snyder.
Il linguaggio B continuò ad essere usato fino agli anni 90 sui mainframe Honeywell e su alcuni sistemi embedded per diverse ragioni come, per esempio, limitazioni hardware nei piccoli sistemi, estensioni di librerie, tools, costi di nuove licenze. AberMUD, il primo popolare gioco di ruolo MUD (acronimo di Multi User Dungeon/Dimension/Domain), venne scritto in linguaggio B da Alan Cox.
Il linguaggio di programmazione B fu fortemente influenzato dal BCPL e il suo nome sembra in contraddizione con quello del predecessore. Esistono voci differenti riguardanti le motivazione di questo nome: Ken Thompson lo attribuisce alla prima lettera di BCPL, ma potrebbe anche essere riferito all'iniziale del nome della moglie Bonnie a cui aveva dedicato, in precedenza, il nome del linguaggio "Bon" realizzato per il Multics.


Capitolo Precedente | Indice | Capitolo Successivo

Valid XHTML 1.1 Valid CSS!